home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-03 / pbtool2i.zip / PBTOOLS.DOC < prev    next >
Text File  |  1991-06-02  |  80KB  |  1,611 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                                  PB Tools 2.0
  18.  
  19.                     Programmer's Toolkit for PowerBASIC 2.1x
  20.  
  21.           Copyright (c) 1990 by Dave Navarro, Jr., All Rights Reserved
  22.  
  23.                        Shareware Release Documentation
  24.  
  25.           About PB Tools:
  26.  
  27.                   PB Tools is a group of PowerBASIC UNIT files of routines
  28.              to give PowerBASIC programmer's advanced routines for
  29.              windowing, DOS I/O, keyboard input, system identification,
  30.              and much more. PB Tools contains over 100 routines fully
  31.              tested for inclusion in your own programs.
  32.                   PB Tools is a shareware product.  Shareware means that
  33.              you as a user may use it for a trial period at no cost.  If
  34.              you continue to use the routines after the trial period, a
  35.              registration fee of $30 is suggested.  Anyone sending in $50
  36.              or more will recieve the latest version of PB Tools, a
  37.              printed and bound manual, and my undying gratitude.
  38.                   Commercial users must pay the registration fee, and all
  39.              commercial programs must include, either in documentation, or
  40.              displayed in the program itself, the copyright notice for PB
  41.              Tools.  Note -->  Commercial programs are any program that
  42.              you write and recieve payment for (including shareware).
  43.              All users are encouraged to send in a voluntary contribution
  44.              to help with development costs of future versions.
  45.  
  46.           Support:
  47.  
  48.              Support for PB Tools is provided by Dave Navarro, Jr. who may
  49.              be contacted at 474 Blossom Hill Rd , San Jose, Ca 95123 or
  50.              through The Bard's Lair BBS at 408-225-BARD with your
  51.              1200/2400/9600/V32/V42bis/HST modem at 8 bits, No parity, 1
  52.              stop bit.  Registered users will also have access to a
  53.              technical support voice number.
  54.  
  55.           Warranty:
  56.  
  57.              PB Tools is supplied "AS IS", and there is no warranty of any
  58.              type expressed or implied, including, without limitation, the
  59.              warranties of merchantability and of the fitness for any
  60.              purpose.  The author assumes no liability for damages, direct
  61.              or consequential, which may result from the use of PB Tools.
  62.  
  63.           Author's Note:
  64.  
  65.              These routines were fully tested on several 80286 and 80386
  66.              clone systems with monochrome, EGA, and VGA setups, and
  67.              operated without any problems.  All screen routines worked
  68.              fine in CGA mode on my VGA card, but I was unable to obtain
  69.              access to a system with an actual CGA card installed,
  70.              therefore, there are no routines for handling "snow" caused
  71.              by fast screen access in screen writes.  I have also left out
  72.              error handling routines in most of the library functions and
  73.              subs to make the routines run as fast as possible.
  74.  
  75.              I have included the source code to the demo supplied with PB
  76.              Tools.  I have done my best to add comments to help with the
  77.              usage for all commands.  If you are still having trouble,
  78.              please feel free to contact me, either through US Mail, or
  79.              The Bard's Lair BBS.  Because of a contractual agreement with
  80.              by business partner, I may only provide parts of the original
  81.              source to PBTools to registered users.  For more information
  82.              please contact me.
  83.  
  84.  
  85.  
  86.              Many of the DOS and EMS routines require a working knowledge
  87.              of interrupts and memory managment.  Using a routine
  88.              incorrectly can cause unknown results so do not use a routine
  89.              that you do not understand.
  90.  
  91.           Acknowledgments:
  92.  
  93.              I would like to thank Richard D. Fothergill and Berry Erick
  94.              for their wonderful routines that served as the inspiration
  95.              for PB Tools.  Many of the routines found in PB Tools are
  96.              based on their demo programs and the syntax of the commands
  97.              were derived from their documentation.
  98.              I would also like to thank Bob Zale for what I feel is the
  99.              best BASIC compiler available, and in many cases the best
  100.              compiler overall for any language.
  101.              I would also like to thank any author who may find a routine
  102.              here that looks familiar to them.  I have spent countless
  103.              hours on the modem downloading QBASIC and TBASIC routines
  104.              from BBS's all over the country and modifying them or,
  105.              rewriting them based on thier original model.
  106.  
  107.  
  108.              PB Tools 2.0                                        Page 4
  109.  
  110.  
  111.                                    Table of Contents
  112.  
  113.              About PB Tools . . . . . . . . . . . . . . . . . . . .   2
  114.              Support  . . . . . . . . . . . . . . . . . . . . . . .   2
  115.              Warranty . . . . . . . . . . . . . . . . . . . . . . .   2
  116.              Author's Note  . . . . . . . . . . . . . . . . . . . .   2
  117.              Acknowledgements . . . . . . . . . . . . . . . . . . .   3
  118.              How to use PB Tools in your program  . . . . . . . . .   7
  119.              Command List for all UNIT files  . . . . . . . . . . .   8
  120.              PB Tools Routines
  121.                AddShadow  . . . . . . . . . . . . . . . . . . . . .  11
  122.                Attr . . . . . . . . . . . . . . . . . . . . . . . .  11
  123.                Back . . . . . . . . . . . . . . . . . . . . . . . .  11
  124.                Bin2Dec  . . . . . . . . . . . . . . . . . . . . . .  12
  125.                Box  . . . . . . . . . . . . . . . . . . . . . . . .  12
  126.                CapsOff  . . . . . . . . . . . . . . . . . . . . . .  12
  127.                CapsOn . . . . . . . . . . . . . . . . . . . . . . .  13
  128.                CapStat  . . . . . . . . . . . . . . . . . . . . . .  13
  129.                Center . . . . . . . . . . . . . . . . . . . . . . .  13
  130.                ChangeWin  . . . . . . . . . . . . . . . . . . . . .  13
  131.                CheckKey . . . . . . . . . . . . . . . . . . . . . .  13
  132.                ClearWin . . . . . . . . . . . . . . . . . . . . . .  14
  133.                CloseHandle  . . . . . . . . . . . . . . . . . . . .  14
  134.                CloseWin . . . . . . . . . . . . . . . . . . . . . .  14
  135.                ClrKBD . . . . . . . . . . . . . . . . . . . . . . .  14
  136.                Compress . . . . . . . . . . . . . . . . . . . . . .  14
  137.                CurBot . . . . . . . . . . . . . . . . . . . . . . .  14
  138.                CurDisplay . . . . . . . . . . . . . . . . . . . . .  15
  139.                CurTop . . . . . . . . . . . . . . . . . . . . . . .  15
  140.                Date2Int . . . . . . . . . . . . . . . . . . . . . .  15
  141.                Decrypt  . . . . . . . . . . . . . . . . . . . . . .  15
  142.                DelChar  . . . . . . . . . . . . . . . . . . . . . .  15
  143.                Dir2 . . . . . . . . . . . . . . . . . . . . . . . .  16
  144.                DrvSpace . . . . . . . . . . . . . . . . . . . . . .  16
  145.                EMSFree  . . . . . . . . . . . . . . . . . . . . . .  16
  146.                EMSHandle. . . . . . . . . . . . . . . . . . . . . .  16
  147.                EMSInst  . . . . . . . . . . . . . . . . . . . . . .  16
  148.                EMSStat  . . . . . . . . . . . . . . . . . . . . . .  17
  149.                EMSVer . . . . . . . . . . . . . . . . . . . . . . .  17
  150.                Encrypt  . . . . . . . . . . . . . . . . . . . . . .  17
  151.                Evaluate . . . . . . . . . . . . . . . . . . . . . .  17
  152.                Exist  . . . . . . . . . . . . . . . . . . . . . . .  17
  153.                FileCount. . . . . . . . . . . . . . . . . . . . . .  17
  154.                Fill . . . . . . . . . . . . . . . . . . . . . . . .  18
  155.                FindHand . . . . . . . . . . . . . . . . . . . . . .  18
  156.                Fore . . . . . . . . . . . . . . . . . . . . . . . .  18
  157.                FreePages. . . . . . . . . . . . . . . . . . . . . .  18
  158.                GetAddr  . . . . . . . . . . . . . . . . . . . . . .  18
  159.                GetDir . . . . . . . . . . . . . . . . . . . . . . .  18
  160.                GetDosV  . . . . . . . . . . . . . . . . . . . . . .  19
  161.  
  162.  
  163.              PB Tools 2.0                                        Page 5
  164.  
  165.                GetHandName  . . . . . . . . . . . . . . . . . . . .
  166.                GetKey . . . . . . . . . . . . . . . . . . . . . . .
  167.                GetRec . . . . . . . . . . . . . . . . . . . . . . .
  168.                GetScrn  . . . . . . . . . . . . . . . . . . . . . .
  169.                Handles  . . . . . . . . . . . . . . . . . . . . . .
  170.                Hex2Dec  . . . . . . . . . . . . . . . . . . . . . .
  171.                InitWindos . . . . . . . . . . . . . . . . . . . . .
  172.                InsChar  . . . . . . . . . . . . . . . . . . . . . .
  173.                InsertOff. . . . . . . . . . . . . . . . . . . . . .
  174.                InsertOn . . . . . . . . . . . . . . . . . . . . . .
  175.                InsStat  . . . . . . . . . . . . . . . . . . . . . .
  176.                Int2Date . . . . . . . . . . . . . . . . . . . . . .
  177.                IsAlpha  . . . . . . . . . . . . . . . . . . . . . .
  178.                IsAlphaNum . . . . . . . . . . . . . . . . . . . . .
  179.                IsAlt  . . . . . . . . . . . . . . . . . . . . . . .
  180.                IsASCII  . . . . . . . . . . . . . . . . . . . . . .
  181.                IsCaps . . . . . . . . . . . . . . . . . . . . . . .
  182.                IsCtrl . . . . . . . . . . . . . . . . . . . . . . .
  183.                IsEMS  . . . . . . . . . . . . . . . . . . . . . . .
  184.                IsInsert . . . . . . . . . . . . . . . . . . . . . .
  185.                IsLShift . . . . . . . . . . . . . . . . . . . . . .
  186.                IsMouse  . . . . . . . . . . . . . . . . . . . . . .
  187.                IsNumKey . . . . . . . . . . . . . . . . . . . . . .
  188.                IsNum  . . . . . . . . . . . . . . . . . . . . . . .
  189.                IsPunc . . . . . . . . . . . . . . . . . . . . . . .
  190.                IsRShift . . . . . . . . . . . . . . . . . . . . . .
  191.                IsScroll . . . . . . . . . . . . . . . . . . . . . .
  192.                LPad . . . . . . . . . . . . . . . . . . . . . . . .
  193.                LRotate  . . . . . . . . . . . . . . . . . . . . . .
  194.                LScroll  . . . . . . . . . . . . . . . . . . . . . .
  195.                MakeInt  . . . . . . . . . . . . . . . . . . . . . .
  196.                MapPage  . . . . . . . . . . . . . . . . . . . . . .
  197.                MaskIn . . . . . . . . . . . . . . . . . . . . . . .
  198.                Menu . . . . . . . . . . . . . . . . . . . . . . . .
  199.                MLocate  . . . . . . . . . . . . . . . . . . . . . .
  200.                MouseKey . . . . . . . . . . . . . . . . . . . . . .
  201.                MouseOff . . . . . . . . . . . . . . . . . . . . . .
  202.                MouseOn  . . . . . . . . . . . . . . . . . . . . . .
  203.                MouseStat. . . . . . . . . . . . . . . . . . . . . .
  204.                MouseWin . . . . . . . . . . . . . . . . . . . . . .
  205.                MoveWin  . . . . . . . . . . . . . . . . . . . . . .
  206.                NoShadow . . . . . . . . . . . . . . . . . . . . . .
  207.                NumIn  . . . . . . . . . . . . . . . . . . . . . . .
  208.                NumOff . . . . . . . . . . . . . . . . . . . . . . .
  209.                NumOn  . . . . . . . . . . . . . . . . . . . . . . .
  210.                NumRecs  . . . . . . . . . . . . . . . . . . . . . .
  211.                NumStat  . . . . . . . . . . . . . . . . . . . . . .
  212.                OpenWin  . . . . . . . . . . . . . . . . . . . . . .
  213.                PageFrame. . . . . . . . . . . . . . . . . . . . . .
  214.                PutRec . . . . . . . . . . . . . . . . . . . . . . .
  215.                PutScrn  . . . . . . . . . . . . . . . . . . . . . .
  216.                ReAttr . . . . . . . . . . . . . . . . . . . . . . .
  217.                Recolor  . . . . . . . . . . . . . . . . . . . . . .
  218.                Reverse  . . . . . . . . . . . . . . . . . . . . . .
  219.                RPad . . . . . . . . . . . . . . . . . . . . . . . .
  220.  
  221.  
  222.              PB Tools 2.0                                        Page 6
  223.  
  224.                RRotate  . . . . . . . . . . . . . . . . . . . . . .
  225.                RScroll  . . . . . . . . . . . . . . . . . . . . . .
  226.                ScrollDN . . . . . . . . . . . . . . . . . . . . . .
  227.                ScrollOff. . . . . . . . . . . . . . . . . . . . . .
  228.                ScrollOn . . . . . . . . . . . . . . . . . . . . . .
  229.                ScrollStat . . . . . . . . . . . . . . . . . . . . .
  230.                ScrollUP . . . . . . . . . . . . . . . . . . . . . .
  231.                ScrollWin. . . . . . . . . . . . . . . . . . . . . .
  232.                SetHandName. . . . . . . . . . . . . . . . . . . . .
  233.                SetText  . . . . . . . . . . . . . . . . . . . . . .
  234.                ShiftAlpha . . . . . . . . . . . . . . . . . . . . .
  235.                StuffKey . . . . . . . . . . . . . . . . . . . . . .
  236.                TextEd . . . . . . . . . . . . . . . . . . . . . . .
  237.                TextIn . . . . . . . . . . . . . . . . . . . . . . .
  238.                Title  . . . . . . . . . . . . . . . . . . . . . . .
  239.                Trim . . . . . . . . . . . . . . . . . . . . . . . .
  240.                UnCompress . . . . . . . . . . . . . . . . . . . . .
  241.                UnMapPage  . . . . . . . . . . . . . . . . . . . . .
  242.                VidAddr  . . . . . . . . . . . . . . . . . . . . . .
  243.                VidMode  . . . . . . . . . . . . . . . . . . . . . .
  244.                WinColor . . . . . . . . . . . . . . . . . . . . . .
  245.                WPrint . . . . . . . . . . . . . . . . . . . . . . .
  246.                WPrintC  . . . . . . . . . . . . . . . . . . . . . .
  247.                ZoomBox  . . . . . . . . . . . . . . . . . . . . . .
  248.  
  249.  
  250.              PB Tools 2.0                                        Page 7
  251.  
  252.  
  253.        How to use PB Tools:
  254.  
  255.             All of the routines in the PB Tools UNIT files have been
  256.             declared public so that you may just include the statement for
  257.             each function or subroutines in your program, provided you use
  258.             the proper syntax for each as described in the examples found
  259.             in the description for each routine.  Note that all numeric
  260.             variables and all numeric functions are integers unless
  261.             indicated in the description.  This helps to speed the
  262.             operation of the routines and your program.  To include all of
  263.             the routines in PB Tools, just place the following statement
  264.             at the top of your program:
  265.  
  266.                        $INCLUDE "PBTOOLS.INC"
  267.  
  268.             And make sure that both the PBTOOLS.INC and PB Tools UNIT
  269.             files are located in the proper directories as setup by your
  270.             editor.  The maximum number of windows that PB Tools can
  271.             handle is defined by the variable Maxwindows% in the
  272.             PBTOOLS.INC file.  The default is 15, but you may change it to
  273.             whatever you wish.  Note however, that the larger the number
  274.             used, the more memory is taken by your program so be sure to
  275.             only declare the number of windows that you will actually be
  276.             using.  All text saved from the screen by the window routines
  277.             are held in strings, this allows the MoveWin and ChangeWin
  278.             routines to more easily rearange the location and content of
  279.             your windows.  You can change the active window displayed by
  280.             changing the CurrentWin% variable, however, the entire window
  281.             must be unobstructed on the screen, and the ChangeWin routine
  282.             will destroy any data of windows that have been "popped" onto
  283.             the screen after the window your changing, so be careful.
  284.             Refer to comments in DEMO.BAS, and PBTOOLS.INC for more
  285.             help in the actual use of the routines.
  286.  
  287.  
  288.           Command List                                              Page 8
  289.  
  290.           SCRNIO.PBU
  291.              Attr        - Calculates a single integer from forground and
  292.                            background
  293.              Back        - Calculates background color from a single
  294.                            integer
  295.              CapsOff     - Toggles Caps Lock key off
  296.              CapsOn      - Toggles Caps Lock key on
  297.              CapStat     - Returns status of Caps Lock key
  298.              CheckKey    - Returns true if key in keyboard buffer
  299.              ClrKBD      - Clears keyboard buffer without removing keys
  300.              CurDisplay  - Returns active display adapter
  301.              CurBot      - Bottom scanline of cursor
  302.              CurTop      - Top scanline of cursor
  303.              Fill        - Fills a box on the screen with a charactor
  304.              Fore        - Calculates forground color from an integer
  305.              GetKey      - Get a single key from KB buffer, wait if no key
  306.                            present
  307.              GetScrn     - Places any portion of the screen into a string
  308.              InsertOff   - Toggles insert status off
  309.              InsertOn    - Toggles insert status on
  310.              InsStat     - Returns status of INS key
  311.              IsAlt       - Returns true if ALT key is depressed
  312.              IsCaps      - Returns true if Caps Lock key is depressed
  313.              IsCtrl      - Returns true if Ctrl key is depressed
  314.              IsInsert    - Returns true if INS key is depressed
  315.              IsLShift    - Returns true if Left Shift key is depressed
  316.              IsMouse     - Returns number of buttons on mouse if installed
  317.              IsNumKey    - Returns true if Num Lock key is depressed
  318.              IsRShift    - Returns true if Right Shift key is depressed
  319.              IsScroll    - Returns true is Scroll Lock key is depressed
  320.              MaskIn      - Get masked input from user
  321.              MouseKey    - Gets a key from KB, mouse movement detected
  322.              MLocate     - Locate the mouse cursor at any place on screen
  323.              MouseOff    - Turns mouse cursor off
  324.              MouseOn     - Turns mouse cursor on
  325.              MouseStat   - Returns mouse position, and button pressed
  326.              MouseWin    - Define the window for mouse cursor
  327.              NumIn       - Get numeric input from user
  328.              NumOff      - Toggles Num Lock key off
  329.              NumOn       - Toggles Num Lock Key on
  330.              NumStat     - Returns status of Num Lock Key
  331.              PutScrn     - Puts a string created with GetScrn back onto
  332.                            the screen
  333.              ReAttr      - Changes the color of any position on the screen
  334.              ScrollDN    - Scrolls any part of the screen down
  335.              ScrollOff   - Toggles Scroll Lock key off
  336.              ScrollOn    - Toggles Scroll Lock key on
  337.              ScrollStat  - Returns the status of the scroll-lock key
  338.              ScrollUP    - Scrolls any part of the screen up
  339.              SetText     - Sets cursor color from single integer
  340.              StuffKey    - Stuff the KB buffer with up to 16 chars
  341.              TextEd      - Lets user edit the chars within a line
  342.              TextIn      - Gets ASCII input from user with editing options
  343.              VidAddr     - Returns the segment of the video address
  344.              VidMode     - Returns current video mode
  345.  
  346.  
  347.           Command List                                              Page 9
  348.  
  349.           TOOL.PBU
  350.              Bin2Dec     - Converts a binary string to a decimal integer
  351.              Center      - Centers a string with spaces padded to left and
  352.                            right
  353.              Compress    - Compress a text string at about 3:2 ratio
  354.              CpuId       - Identifies CPU that program is running on
  355.              Date2Int    - Converts a date to a 2 byte integer
  356.              Decrypt     - Decrypt a string using a password
  357.              DelChar     - Delete a charactor within a string at desired
  358.                            location
  359.              Encrypt     - Encrypt a string with a password
  360.              Evaluate    - Evaluate a given expression and return answer
  361.              GetAddr     - Returns segment and offset of a string
  362.              Hex2Dec     - Converts a hexadecimal string to a decimal
  363.                            integer
  364.              InsChar     - Insert a charactor within a string at desired
  365.                            location
  366.              Int2Date    - Converts a 2 byte integer to a valid date
  367.              IsAlpha     - Returns true if a char is alpha
  368.              IsAlphaNum  - Returns true is a char is alpha or numeric
  369.              IsASCII     - Returns true if a char is printable ASCII
  370.              IsNum       - Returns true if a char is numeric
  371.              IsPunc      - Returns true if a char is punctuation
  372.              LPad        - Pad a string to the left with desired char
  373.              LRotate     - Rotates a string to the left one charactor
  374.              MakeInt     - Converts two bytes into an integer
  375.              Reverse     - Reverses all charactors in a string
  376.              RPad        - Pad a string to the right with desired char
  377.              RRotate     - Rotates a string to the right one charactor
  378.              ShiftAlpha  - Shifts uppercase alpha chars over chars
  379.              Trim        - Trims spaces from both ends of a string
  380.              UnCompress  - Uncompresses a compressed string
  381.  
  382.           WINDO.PBU
  383.              AddShadow   - Adds a shadow to current window
  384.              Box         - Draws a box on the screen
  385.              ChangeWin   - Changes the size of the current window
  386.              ClearWin    - Clears the contents of the current window
  387.              CloseWin    - Closes a previously opened window
  388.              InitWindos  - Initialize all variables for window routines
  389.              Menu        - Displays a menu and returns choice from user
  390.              MoveWin     - Moves the current window in any one of 4
  391.                            directions
  392.              NoShadow    - Removes the shadow form the current window
  393.              OpenWin     - Pops a window on the screen saving whatever is
  394.                            underneath
  395.              ScrollWin   - Scrolls the text within the current window in
  396.                            one of 4 directions
  397.              Title       - Displays a title in one of 6 positions
  398.              WinColor    - Changes the text color of the current window
  399.              WPrint      - Displays a string within the current window
  400.              WPrintC     - Centers a text string horizontally within
  401.                            current window
  402.              ZoomBox     - Explodes a box on the screen
  403.  
  404.  
  405.           Command List                                             Page 10
  406.  
  407.           DOSIO.PBU
  408.              DrvSpace    - Double precision integer containing drive space
  409.                            left
  410.              Exist       - Returns true if file exists
  411.              FileCount   - Returns the number of files in dir matching
  412.                            specification
  413.              GetDir      - Returns an array containing all filenames
  414.                            matching spec
  415.              GetDosV     - Returns current DOS version number
  416.              GetDrive    - Returns current active drive/partition
  417.              GetRec      - Retrieves a record from a file
  418.              NumRecs     - Returns total number of records within a file
  419.              PutRec      - Put a record into a file
  420.  
  421.           EMSIO.PBU
  422.              CloseHandle - Closes a previously allocated EMS Handle
  423.              EMSFree     - Returns the amount of free EMS memory
  424.              EMSHandle   - Allocates the requested pages and returns
  425.                            handle number
  426.              EMSInst     - Returns the amount of EMS installed
  427.              EMSStat     - Returns the status of installed EMS
  428.              EMSVer      - Returns the version number of the EMS driver
  429.              FindHand    - Returns the file handle number for given name
  430.              FreePages   - Returns the number of free pages in EMS
  431.              GetHandName - Returns 8 charactor name of an EMS handle
  432.              Handles     - Returns the number of handles used
  433.              IsEMS       - Returns true if EMS installed
  434.              MapPage     - Maps logical page to Page Frame
  435.              PageFrame   - Returns the address segment of the page frame
  436.              SetHandName - Assign an 8 charactor name of an EMS handle
  437.              UnMapPage   - Unmaps current mapped logical frame
  438.  
  439.  
  440.      Command Usage                                                 Page 11
  441.  
  442.      ---------------------------------------------------------------------
  443.       AddShadow                  SUB-ROUTINE                    WINDO.PBU
  444.      ---------------------------------------------------------------------
  445.      Adds a shadow to current window.
  446.  
  447.      Example:  CALL AddShadow(Dir%)
  448.                Where Dir% = 1 for Drop Left shadow using black spaces
  449.                             2 for Drop Right using black spaces
  450.                             3 for Drop Left changing background attributes
  451.                             4 for Drop Right changing background
  452.                             attributes
  453.  
  454.      See Also: NoShadow
  455.      ---------------------------------------------------------------------
  456.       Attr                       FUNCTION                      SCRNIO.PBU
  457.      ---------------------------------------------------------------------
  458.      Calculates a single integer from foreground and background values.
  459.  
  460.      Example:  Color%=Attr%(foreground%,background%)
  461.  
  462.                Color Table:
  463.                     Foreground            BackGround
  464.                   0  - Black                 Black
  465.                   1  - Blue                  Blue
  466.                   2  - Green                 Green
  467.                   3  - Cyan                  Cyan
  468.                   4  - Red                   Red
  469.                   5  - Magenta               Magenta
  470.                   6  - Brown                 Brown
  471.                   7  - White                 White
  472.                   8  - Gray
  473.                   9  - Light Blue
  474.                  10  - Light Green
  475.                  11  - Light Cyan
  476.                  12  - Light Red
  477.                  13  - Light Magenta
  478.                  14  - Yellow
  479.                  15  - Bright White
  480.  
  481.      See Also:  Back, Fore, ReAttr, WinColor
  482.      ---------------------------------------------------------------------
  483.       Back                       FUNCTION                      SCRNIO.PBU
  484.      ---------------------------------------------------------------------
  485.      Calculates the background attribute from a single
  486.      foreground/background byte.
  487.  
  488.      Example:  Background%=Back%(ColorByte%)
  489.  
  490.      See Also:  Attr, Fore, ReAttr, WinColor
  491.  
  492.  
  493.      Command Usage                                                 Page 12
  494.  
  495.      ---------------------------------------------------------------------
  496.       Bin2Dec                    FUNCTION                        TOOL.PBU
  497.      ---------------------------------------------------------------------
  498.      Converts a binary string to a decimal integer.
  499.  
  500.      Example:  Binary$="0101"
  501.                Dec%=Bin2Dec%(Binary$)
  502.  
  503.      See Also: Hex2Dec
  504.      ---------------------------------------------------------------------
  505.       Box                        SUB-ROUTINE                    WINDO.PBU
  506.      ---------------------------------------------------------------------
  507.      Draws a box on the screen with one of 14 borders types.
  508.  
  509.      Example:  CALL
  510.      Box(Ypos%,Xpos%,Ylen%,Xlen%,Bor%,Shadow%,BorCol%,TextCol%)
  511.                Where Ypos% = Top most row of the box
  512.                      Xpos% = Left most column of the box
  513.                      Ylen% = Total number of rows to draw the box in, not
  514.                              including the shadow
  515.                      Xlen% = Total number of columns to draw the box, not
  516.                              including the shadow
  517.                      Bor% = The selected border outline
  518.                             0 - No shadow
  519.                             1 - Single line box
  520.                             2 - Double line box
  521.                             3 - Single sides/double top & bottom
  522.                             4 - Double sides/single top & bottom
  523.                             5 - Pulldown single box
  524.                             6 - Pulldown double box
  525.                             7 - Pulldown single top/double sides & bottom
  526.                             8 - Pulldown double top/single sides & bottom
  527.                             9 - Single top & bottom/no sides
  528.                            10 - Double top & bottom/no sides
  529.                            11 - Solid  style 1
  530.                            12 - Medium hatch
  531.                            13 - Solid  style 2
  532.                      Shadow% = Placement of shadow
  533.                             1 - Drop Left shadow using black spaces
  534.                             2 - Drop Right using black spaces
  535.                             3 - Drop Left changing background attributes
  536.                             4 - Drop Right changing background attributes
  537.                      BorCol% = Single integer for border color (see Attr)
  538.                      TextCol% = Single integer for text color (see Attr)
  539.  
  540.      See Also:  Attr
  541.      ---------------------------------------------------------------------
  542.       CapsOff                    SUB-ROUTINE                   SCRNIO.PBU
  543.      ---------------------------------------------------------------------
  544.      Toggles Caps Lock key off.
  545.  
  546.      Example:  CALL CapsOff
  547.  
  548.      See Also:  CapsOn, CapStat
  549.  
  550.  
  551.      Command Usage                                                 Page 13
  552.  
  553.      ---------------------------------------------------------------------
  554.       CapsOn                     SUB-ROUTINE                   SCRNIO.PBU
  555.      ---------------------------------------------------------------------
  556.      Toggles Caps Lock key on.
  557.  
  558.      Example:  CALL CapsOn
  559.  
  560.      See Also:  CapsOff, CapStat
  561.      ---------------------------------------------------------------------
  562.       CapStat                    FUNCTION                      SCRNIO.PBU
  563.      ---------------------------------------------------------------------
  564.      Returns true if Caps Lock is on.
  565.  
  566.      Example:  IF CapStat% THEN CALL CapsOff
  567.  
  568.      See Also:  CapsOff, CapsOn
  569.      ---------------------------------------------------------------------
  570.       Center                     FUNCTION                        TOOL.PBU
  571.      ---------------------------------------------------------------------
  572.      Centers a string with spaces padded to the left and right.
  573.  
  574.      Example:  Centered$=Center$("This is centered",TotCol%)
  575.                Where TotCol% = total number of columns to center string
  576.                within.
  577.  
  578.      See Also:  LPad, LRotate, RPad, RRotate, Trim
  579.      ---------------------------------------------------------------------
  580.       ChangeWin                  SUB-ROUTINE                    WINDO.PBU
  581.      ---------------------------------------------------------------------
  582.      Changes the size of the current windo.  There can be NO shadow on the
  583.      windo when you resize it.
  584.  
  585.      Example:  CALL ChangeWin(Dir%)
  586.                Where Dir% = the direction that you want to resize.
  587.                   1 - Add to the right one position
  588.                   2 - Remove from the right one position
  589.                   3 - Add to the bottom one row
  590.                   4 - Remove from the bottom one row
  591.  
  592.      ---------------------------------------------------------------------
  593.       CheckKey                   FUNCTION                      SCRNIO.PBU
  594.      ---------------------------------------------------------------------
  595.      Checks the keyboard buffer to see if a key is present without
  596.      removing it.
  597.  
  598.      Example:  IF CheckKey% THEN GOSUB GetAllKeys
  599.  
  600.      See Also:  ClrKBD, GetKey, IsAlt, IsCaps, IsCtrl, IsInsert, IsLShift,
  601.                 IsNum, IsRShift, IsScroll, StuffKey
  602.  
  603.  
  604.      Command Usage                                                 Page 14
  605.  
  606.      ---------------------------------------------------------------------
  607.       ClearWin                   SUB-ROUTINE                    WINDO.PBU
  608.      ---------------------------------------------------------------------
  609.      Clears the contents of the current windo.
  610.  
  611.      Example:  CALL ClearWin
  612.  
  613.      See Also:  OpenWin, WinColor, WPrint, WPrintC
  614.      ---------------------------------------------------------------------
  615.       CloseHandle                SUB-ROUTINE                    EMSIO.PBU
  616.      ---------------------------------------------------------------------
  617.      Closes a previously allocated EMS handle and de-allocates all memory
  618.      used.
  619.  
  620.      Example:  CALL CloseHandle(Handle%)
  621.  
  622.      See Also:  EMSHandle, FindHand, GetHandName, Handles, SetHandName
  623.      ---------------------------------------------------------------------
  624.       CloseWin                   SUB-ROUTINE                   SCRNIO.PBU
  625.      ---------------------------------------------------------------------
  626.      Closes the current active window.  Do Not close a window unless it is
  627.        the last window you popped onto the screen, otherwise you lose
  628.        access to all windows following it.
  629.  
  630.      Example:  CALL CloseWin
  631.  
  632.      See Also:  OpenWin
  633.      ---------------------------------------------------------------------
  634.       ClrKBD                     SUB-ROUTINE                   SCRNIO.PBU
  635.      ---------------------------------------------------------------------
  636.      Clears all keys from the keyboard buffer.
  637.  
  638.      Example:  CALL ClrKBD
  639.  
  640.      See Also: CheckKey, GetKey, StuffKey
  641.      ---------------------------------------------------------------------
  642.       Compress                   SUB-ROUTINE                     TOOL.PBU
  643.      ---------------------------------------------------------------------
  644.      Compresses a text string with approximately a 2:3 ratio.  The only
  645.        valid charactors within the text string are uppercase letters,
  646.        space, comma, period, semi-colon, and colon.
  647.  
  648.      Example:  NewText$=Compress$(OldText$)
  649.  
  650.      See Also:  Decrypt, Encrypt, UnCompress
  651.      ---------------------------------------------------------------------
  652.       CurBot                     FUNCTION                      SCRNIO.PBU
  653.      ---------------------------------------------------------------------
  654.      Returns the scanline for the bottom of the cursor.  The cursor need
  655.        not be displayed when routine is called.
  656.  
  657.      Example:  CursorBottom%=CurBot%
  658.  
  659.      See Also:  CurTop
  660.  
  661.  
  662.      Command Usage                                                 Page 15
  663.  
  664.      ---------------------------------------------------------------------
  665.       CurDisplay                 FUNCTION                      SCRNIO.PBU
  666.      ---------------------------------------------------------------------
  667.      Returns the active video display.
  668.  
  669.      Example:  VidType%=CurDisplay%
  670.                Where 0 - Mono
  671.                      1 - CGA
  672.                      2 - EGA
  673.                      3 - MCGA
  674.                      4 - VGA
  675.  
  676.      See Also:  VidAddr, VidMode
  677.      ---------------------------------------------------------------------
  678.       CurTop                     FUNCTION                      SCRNIO.PBU
  679.      ---------------------------------------------------------------------
  680.      Returns the scanline for the top of the cursor.
  681.  
  682.      Example:  CursorTop%=CurTop%
  683.  
  684.      See Also:  CurBot
  685.      ---------------------------------------------------------------------
  686.       Date2Int                   FUNCTION                        TOOL.PBU
  687.      ---------------------------------------------------------------------
  688.      Converts a date between 01-01-1900 and 01-01-2030 into a 2-
  689.      byte integer.
  690.  
  691.      Example:  TheDate%=Date2Int%(DATE$)
  692.  
  693.      See Also:  Int2Date
  694.      ---------------------------------------------------------------------
  695.       Decrypt                    FUNCTION                        TOOL.PBU
  696.      ---------------------------------------------------------------------
  697.      Decrypts a string using a password.
  698.  
  699.      Example:  PRINT Decrypt$(Text$,Password$)
  700.  
  701.      See Also:  Compress, Encrypt, UnCompress
  702.      ---------------------------------------------------------------------
  703.       DelChar                    FUNCTION                        TOOL.PBU
  704.      ---------------------------------------------------------------------
  705.      Deletes a charactor from within a string.
  706.  
  707.      Example:  NewText$=DelChar$(OldText$,5)
  708.                Would delete the 5th charactor from OldText$
  709.  
  710.      See Also:  InsChar
  711.  
  712.  
  713.      Command Usage                                                 Page 16
  714.  
  715.      ---------------------------------------------------------------------
  716.       Dir2                       FUNCTION                       DOSIO.PBU
  717.      ---------------------------------------------------------------------
  718.      Returns the filename, filesize, and filedate for a given filespec and
  719.      attribute.
  720.  
  721.      Example:  PRINT Dir2$(Spec$,Atr%,Size&,FileDate$)
  722.                      Where Spec$ - File Specification (ie: "*.*")
  723.                            Atr% - File attribute to search for
  724.                            Size& - size of returned file
  725.                            FileDate$ - date of returned file
  726.                 Note:  If you use "" as the filespec then the routine will
  727.                        search for the next file using the same Spec$ and
  728.                        Atr%
  729.      See Also:  PRINDIR.BAS
  730.      ---------------------------------------------------------------------
  731.       DrvSpace                   FUNCTION                       DOSIO.PBU
  732.      ---------------------------------------------------------------------
  733.      Returns the number of bytes available for default drive as a
  734.      double precision integer.
  735.  
  736.      Example:  PRINT "Total Bytes Free on Current Drive:";DrvSpace#
  737.  
  738.      See Also:  CurDrive, SetDrive
  739.      ---------------------------------------------------------------------
  740.       EMSFree                      FUNCTION                     EMSIO.PBU
  741.      ---------------------------------------------------------------------
  742.      Returns the amount of free EMS memory.
  743.  
  744.      Example:  FreeSpace%=EMSFree%
  745.  
  746.      See Also:  EMSInst, FreePages
  747.      ---------------------------------------------------------------------
  748.       EMSHandle                  FUNCTION                       EMSIO.PBU
  749.      ---------------------------------------------------------------------
  750.      Allocates the requested pages and returns the handle number.
  751.  
  752.      Example:  Handle%=EMSHandle%(Pages%)
  753.                Where Pages% = The number of pages you wish to allocate.
  754.  
  755.      See Also:  CloseHandle, FreePages, SetHandName
  756.      ---------------------------------------------------------------------
  757.       EMSInst                    FUNCTION                       EMSIO.PBU
  758.      ---------------------------------------------------------------------
  759.      Returns the amount of EMS memory installed.
  760.  
  761.      Example:  PRINT "You have ";EMSInst%;" bytes of EMS"
  762.  
  763.      See Also:  EMSFree, EMSStat, EMSVer, FreePages, IsEMS
  764.  
  765.  
  766.      Command Usage                                                 Page 17
  767.  
  768.      ---------------------------------------------------------------------
  769.       EMSStat                    FUNCTION                       EMSIO.PBU
  770.      ---------------------------------------------------------------------
  771.      Returns the status of the EMS driver.
  772.  
  773.      Example:  Status%=EMSStat%
  774.  
  775.      See Also: EMSVer, IsEMS
  776.      ---------------------------------------------------------------------
  777.       EMSVer                     FUNCTION                       EMSIO.PBU
  778.      ---------------------------------------------------------------------
  779.      Returns the version number of the EMS driver.
  780.  
  781.      Example:  Version%=EMSVer%
  782.  
  783.      See Also:  EMSStat, IsEMS
  784.      ---------------------------------------------------------------------
  785.       Encrypt                    FUNCTION                        TOOL.PBU
  786.      ---------------------------------------------------------------------
  787.      Encrypts a text string using a password.
  788.  
  789.      Example:  Secret$=Encrypt$(Text$,Password$)
  790.  
  791.      See Also:  Compress, Decrypt, UnCompress
  792.      ---------------------------------------------------------------------
  793.       Evaluate                   SUB-ROUTINE                     TOOL.PBU
  794.      ---------------------------------------------------------------------
  795.      Evaluates a given mathematical expression and returns an
  796.      answer.
  797.  
  798.      Example:  CALL Evaluate(Expression$, Result#, ErrCode%)
  799.                Where Expression$ = a mathematical expression, ie:
  800.      "(4+4)*6"
  801.                      Result# = a double precision real number
  802.                      ErrCode% = any errors that may occur
  803.      ---------------------------------------------------------------------
  804.       Exist                      FUNCTION                       DOSIO.PBU
  805.      ---------------------------------------------------------------------
  806.      Returns true if given filename exists.
  807.  
  808.      Example:  IF Exist%(Path$+FileName$) THEN GOSUB LoadFile
  809.  
  810.      See Also:  CurDir, CurDrive, GetRec, NumRecs, PutRec
  811.      ---------------------------------------------------------------------
  812.       FileCount                  FUNCTION                       DOSIO.PBU
  813.      ---------------------------------------------------------------------
  814.      Reports the number of files within a given path and
  815.      specification that
  816.        have a given attribute.
  817.  
  818.      Example:  NumFiles%=FileCount("*.*",Atr%)
  819.                Where Atr% = Attribute of files to search
  820.  
  821.      See Also:  CurDir, CurDrive, GetAttr, GetDir, GetDrive, SetAttr
  822.  
  823.  
  824.      Command Usage                                                 Page 18
  825.  
  826.      ---------------------------------------------------------------------
  827.       Fill                       SUB-ROUTINE                   SCRNIO.PBU
  828.      ---------------------------------------------------------------------
  829.      Fills a box on the screen with a given charactor and
  830.      background attribute.
  831.  
  832.      Example:  CALL Fill(Ypos%, Xpos%, Ylen%, Xlen%, Char%, Atr%)
  833.                Where Char% = Charactors to fill box with
  834.                      Atr% = Attribute to display charactor in
  835.  
  836.      See Also:  Attr, ReAttr, Recolor
  837.      ---------------------------------------------------------------------
  838.       FindHand                   FUNCTION                       EMSIO.PBU
  839.      ---------------------------------------------------------------------
  840.      Finds handle number for given 8 charactor name.
  841.  
  842.      Example:  Handle%=FindHand%("TEST")
  843.  
  844.      See Also:  CloseHandle, EMSHandle, GetHandName, Handles, SetHandName
  845.      ---------------------------------------------------------------------
  846.       Fore                       FUNCTION                      SCRNIO.PBU
  847.      ---------------------------------------------------------------------
  848.      Calculates foreground from single color attribute integer.
  849.  
  850.      Example:  ForeGround%=Fore(Atr%)
  851.  
  852.      See Also:  Attr, Back
  853.      ---------------------------------------------------------------------
  854.       FreePages                  FUNCTION                       EMSIO.PBU
  855.      ---------------------------------------------------------------------
  856.      Returns the number of free pages in EMS.
  857.  
  858.      Example:  PRINT "There are ";FreePages%;" left in EMS"
  859.  
  860.      See Also:  EMSFree, EMSInst, EMSStat, EMSVer, Handles, IsEMS,
  861.      PageFrame
  862.      ---------------------------------------------------------------------
  863.       GetAddr                    SUB-ROUTINE                     TOOL.PBU
  864.      ---------------------------------------------------------------------
  865.      Returns segment and offset of a string.
  866.  
  867.      Example:  CALL GetAddr(Text$, Segmnt%, Offst%)
  868.                Where Segmnt% = The 64k segment in which the string resides
  869.                      Offst% = The offset from the segment where the string
  870.      resides
  871.      ---------------------------------------------------------------------
  872.       GetDir                     SUB-ROUTINE                    DOSIO.PBU
  873.      ---------------------------------------------------------------------
  874.      Returns an array containing all filenames matching
  875.      specification
  876.  
  877.      Example:  CALL GetDir("*.*",Atr%,AllFiles$())
  878.                Where AllFiles$() = a predimensioned array to hold the
  879.      filenames
  880.  
  881.      See Also:  CurDir, CurDrive, Exist, FileCount
  882.  
  883.  
  884.      Command Usage                                                 Page 19
  885.  
  886.      ---------------------------------------------------------------------
  887.       GetDosV                    FUNCTION                       DOSIO.PBU
  888.      ---------------------------------------------------------------------
  889.      Returns the version of DOS currently being used.
  890.  
  891.      Example:  PRINT "DOS Version:";GetDosV%*.01; is currently being used"
  892.      ---------------------------------------------------------------------
  893.       GetHandName                FUNCTION                       EMSIO.PBU
  894.      ---------------------------------------------------------------------
  895.      Returns the 8 charactor name for a given handle number.
  896.  
  897.      Example:  PRINT "The name for EMS Handle number 8 is
  898.      ";GetHandName$(8)
  899.  
  900.      See Also:  CloseHandle, EMSHandle, FindHand, Handles, SetHandName
  901.      ---------------------------------------------------------------------
  902.       GetKey                     FUNCTION                      SCRNIO.PBU
  903.      ---------------------------------------------------------------------
  904.      Gets a single key from the keyboard buffer, waits if no key
  905.      is pressed.
  906.        Does not check status of the shift keys.
  907.  
  908.      Example:  PRINT"Press Any Key to Continue":I$=GetKey$
  909.  
  910.      See Also:  CheckKey, ClrKBD, MouseKey, MaskIn, NumIn, Text Ed, TextIn
  911.      ---------------------------------------------------------------------
  912.       GetRec                     FUNCTION                       DOSIO.PBU
  913.      ---------------------------------------------------------------------
  914.      Retrieves a record from a random access file.
  915.  
  916.      Example:  Record$=GetRec$(Filename$, RecNum%, Recsize%)
  917.                Where RecNum% = The number of the record that you want
  918.                      RecSize% = The size of each record
  919.  
  920.      See Also:  Exist, NumRecs, PutRec
  921.      ---------------------------------------------------------------------
  922.       GetScrn                    FUNCTION                      SCRNIO.PBU
  923.      ---------------------------------------------------------------------
  924.      Places any portion of the screen and it's color attributes in
  925.      a string.
  926.  
  927.      Example:  Top$=GetScrn$(Ypos%, Xpos%, Xlen%)
  928.  
  929.      See Also:  PutScrn
  930.      ---------------------------------------------------------------------
  931.       Handles                     FUNCTION                      EMSIO.PBU
  932.      ---------------------------------------------------------------------
  933.      Returns the number of active EMS handles.
  934.  
  935.      Example:  PRINT "There are ";Handles%;" currently active"
  936.  
  937.      See Also:  CloseHandle, EMSHandle, EMSVer, FindHand, GetHandName,
  938.      IsEMS
  939.      ---------------------------------------------------------------------
  940.       Hex2Dec                    FUNCTION                        TOOL.PBU
  941.      ---------------------------------------------------------------------
  942.      Converts a hexadecimal number to a decimal integer.
  943.  
  944.      Example:  Integer%=Hex2Dec%("C800")
  945.  
  946.      See Also:  Bin2Dec
  947.      ---------------------------------------------------------------------
  948.       InitWindos                 SUB-ROUTINE                    WINDO.PBU
  949.      ---------------------------------------------------------------------
  950.      Initializes all variables for windo routines.
  951.  
  952.      Example:  CALL InitWindos
  953.  
  954.      See Also:  OpenWin, CloseWin
  955.      ---------------------------------------------------------------------
  956.       InsChar                     FUNCTION                       TOOL.PBU
  957.      ---------------------------------------------------------------------
  958.      Inserts a charactor or string into another string at desired
  959.      position.
  960.  
  961.      Example:  NewString$=InsChar$(OldString$,"Test")
  962.  
  963.      See Also:  Center, DelChar, Trim
  964.      ---------------------------------------------------------------------
  965.       InsertOff                  SUB-ROUTINE                   SCRNIO.PBU
  966.      ---------------------------------------------------------------------
  967.      Toggles insert key off.
  968.  
  969.      Example:  CALL InsertOff
  970.  
  971.      See Also:  InsertOn, InsStat, IsInsert
  972.      ---------------------------------------------------------------------
  973.       InsertOn                   SUB-ROUTINE                   SCRNIO.PBU
  974.      ---------------------------------------------------------------------
  975.      Toggles insert key on.
  976.  
  977.      Example:  CALL InsertOn
  978.  
  979.      See Also:  InsertOff, InsStat, IsInsert
  980.      ---------------------------------------------------------------------
  981.       InsStat                    FUNCTION                      SCRNIO.PBU
  982.      ---------------------------------------------------------------------
  983.      Returns the status of the insert key.
  984.  
  985.      Example:  Status%=InsStat%
  986.  
  987.      See Also:  InsertOff, InsertOn, IsInsert
  988.      ---------------------------------------------------------------------
  989.       Int2Date                    FUNCTION                       TOOL.PBU
  990.      ---------------------------------------------------------------------
  991.      Converts a 2 byte integer into a valid date.
  992.  
  993.      Example:  PRINT "Stored Date is ";Int2Date$(Stored%)
  994.  
  995.      See Also:  Date2Int
  996.      ---------------------------------------------------------------------
  997.       IsAlpha                    FUNCTION                        TOOL.PBU
  998.      ---------------------------------------------------------------------
  999.      Returns true if a charactor is between "a" and "z" or "A" and
  1000.      "Z".
  1001.  
  1002.      Example:  IF IsAlpha%(I$) THEN Yep
  1003.  
  1004.      See Also:  GetKey$, IsAlphaNum, IsASCII, IsNumKey, IsPunc
  1005.      ---------------------------------------------------------------------
  1006.       IsAlphaNum                 FUNCTION                        TOOL.PBU
  1007.      ---------------------------------------------------------------------
  1008.      Returns true is a charactor is alpha or numeric.
  1009.  
  1010.      Example:  IF IsAlphaNum%(I$) THEN Yep
  1011.  
  1012.      See Also:  GetKey$, IsAlpha, IsASCII, IsNumKey, IsPunc
  1013.      ---------------------------------------------------------------------
  1014.       IsAlt                      FUNCTION                      SCRNIO.PBU
  1015.      ---------------------------------------------------------------------
  1016.      Returns true if an Alt key is depressed.
  1017.  
  1018.      Example:  IF IsAlt% THEN AltKeyPressed
  1019.  
  1020.      See Also:  GetKey$, IsCaps, IsCtrl, IsInsert, IsLShift, IsNumKey,
  1021.      IsRShift
  1022.      ---------------------------------------------------------------------
  1023.       IsASCII                    FUNCTION                        TOOL.PBU
  1024.      ---------------------------------------------------------------------
  1025.      Returns true if the value of a charactor is between 32 and
  1026.      127.
  1027.  
  1028.      Example:  IF IsASCII%(I$) THEN AddChar
  1029.      ---------------------------------------------------------------------
  1030.       IsCaps                     FUNCTION                      SCRNIO.PBU
  1031.      ---------------------------------------------------------------------
  1032.      Returns true if the caps lock key is depressed.
  1033.  
  1034.      Example:  IF IsCaps% THEN Yep
  1035.  
  1036.      See Also:  GetKey$, IsAlt, IsCtrl, IsInsert, IsLShift, IsNumKey,
  1037.      IsRShift
  1038.      ---------------------------------------------------------------------
  1039.       IsCtrl                     FUNCTION                      SCRNIO.PBU
  1040.      ---------------------------------------------------------------------
  1041.      Returns true is a Ctrl key is depressed.
  1042.  
  1043.      Example:  IF IsCtrl% THEN Yep
  1044.  
  1045.      See Also:  GetKey$, IsAlt, IsCaps, IsInsert, IsLShift, IsNumKey,
  1046.      IsRShift
  1047.      ---------------------------------------------------------------------
  1048.       IsEMS                       FUNCTION                      EMSIO.PBU
  1049.      ---------------------------------------------------------------------
  1050.      Returns true if EMS is installed.
  1051.  
  1052.      Example:  IF IsEMS% THEN Yep
  1053.  
  1054.      See Also:  EMSFree, EMSInst, EMSStat, EMSVer, FreePages, PageFrame
  1055.      ---------------------------------------------------------------------
  1056.       IsInsert                   FUNCTION                      SCRNIO.PBU
  1057.      ---------------------------------------------------------------------
  1058.      Returns true if Insert key is depressed.
  1059.  
  1060.      Example:  IF IsInsert% THEN Yep
  1061.  
  1062.      See Also:  GetKey$, IsAlt, IsCaps, IsCtrl, IsLShift, IsNumKey,
  1063.      IsRShift
  1064.      ---------------------------------------------------------------------
  1065.       IsLShift                   FUNCTION                      SCRNIO.PBU
  1066.      ---------------------------------------------------------------------
  1067.      Returns true if Left Shift Key is depressed.
  1068.  
  1069.      Example:  IF IsLShift% THEN Yep
  1070.      ---------------------------------------------------------------------
  1071.       IsMouse                    FUNCTION                      SCRNIO.PBU
  1072.      ---------------------------------------------------------------------
  1073.      Returns the number of buttons if a mouse is installed.
  1074.  
  1075.      Example:  IF IsMouse% THEN Buttons%=IsMouse%
  1076.  
  1077.      See Also:  MLocate, MouseKey, MouseOff, MouseOn, MouseStat, MouseWin
  1078.      ---------------------------------------------------------------------
  1079.       IsNumKey                   FUNCTION                      SCRNIO.PBU
  1080.      ---------------------------------------------------------------------
  1081.      Returns true if the Num Lock key is depressed.
  1082.  
  1083.      Example:  IF IsNum% THEN Yep
  1084.  
  1085.      See Also:  GetKey$, IsAlt, IsCaps, IsCtrl, IsInsert, IsLShift,
  1086.      IsRShift
  1087.      ---------------------------------------------------------------------
  1088.       IsNum                      FUNCTION                        TOOL.PBU
  1089.      ---------------------------------------------------------------------
  1090.      Returns true if charactor is numeric.
  1091.  
  1092.      Example:  IF IsNum%(I$) THEN GetMoreNumbers
  1093.  
  1094.      See Also:  IsAlpha, IsAlphaNum, IsASCII, IsPunc
  1095.      ---------------------------------------------------------------------
  1096.       IsPunc                     FUNCTION                        TOOL.PBU
  1097.      ---------------------------------------------------------------------
  1098.      Returns true if a charactor is punctuation, ie "';:.,/?[{]}!@#$%&*()-
  1099.  
  1100.      Example:  IF IsPunc(I$) THEN Yep
  1101.  
  1102.      See Also:  IsAlpha, IsAlphaNum, IsASCII, IsNum
  1103.      ---------------------------------------------------------------------
  1104.       IsRShift                   FUNCTION                      SCRNIO.PBU
  1105.      ---------------------------------------------------------------------
  1106.      Returns true if the Right Shift key is depressed.
  1107.  
  1108.      Example:  IF IsRShift% THEN Yep
  1109.  
  1110.      See Also:  GetKey$, IsAlt, IsCaps, IsCtrl, IsInsert, IsLShift,
  1111.      IsNumKey
  1112.      ---------------------------------------------------------------------
  1113.       IsScroll                   FUNCTION                      SCRNIO.PBU
  1114.      ---------------------------------------------------------------------
  1115.      Returns true if Scroll Lock key is depressed.
  1116.  
  1117.      Example:  IF IsScroll% THEN Yep
  1118.  
  1119.      See Also:  GetKey$, IsAlt, IsCaps, IsCtrl, IsInsert, IsLShift,
  1120.      IsNumKey
  1121.      ---------------------------------------------------------------------
  1122.       LPad                       FUNCTION                        TOOL.PBU
  1123.      ---------------------------------------------------------------------
  1124.      Pads a string to the left desired number of charactors using
  1125.      desired string.
  1126.  
  1127.      Example:  NewString$=LPad$(OldString$,80,32)
  1128.                Would pad OldString$ to 80 charactors using a space
  1129.  
  1130.      See Also:  RPad$, Trim$
  1131.      ---------------------------------------------------------------------
  1132.       LRotate                    FUNCTION                        TOOL.PBU
  1133.      ---------------------------------------------------------------------
  1134.      Rotates a string one charactor to the left, making the first
  1135.      char the last.
  1136.  
  1137.      Example:  NewString$=LRotate$(OldString$)
  1138.  
  1139.      See Also: RRotate
  1140.      ---------------------------------------------------------------------
  1141.       LScroll                    SUB-ROUTINE                   SCRNIO.PBU
  1142.      ---------------------------------------------------------------------
  1143.      Scrolls any portion of the screen to the left.
  1144.  
  1145.      Example:  CALL LScroll(TopRow%,LeftCol%,BotRow%,RightCol%,Cols%)
  1146.  
  1147.      See Also:  RScroll, ScrollDN, ScrollUP, ScrollWin
  1148.      ---------------------------------------------------------------------
  1149.       MakeInt                    FUNCTION                        TOOL.PBU
  1150.      ---------------------------------------------------------------------
  1151.      Makes a single integer from 2 bytes.
  1152.  
  1153.      Example:  Integer%=MakeInt%(Msb%, Lsb%)
  1154.                Where Msb% = The most significant byte
  1155.                      Lsb% = The least siginificant byte
  1156.      ---------------------------------------------------------------------
  1157.       MapPage                    SUB-ROUTINE                    EMSIO.PBU
  1158.      ---------------------------------------------------------------------
  1159.      Maps a logical page to the pageframe.
  1160.  
  1161.      Example:  CALL MapPage(Handle%, Page%)
  1162.                Where Handle% = The handle number you wish to access
  1163.                      Page% = The logical page you want mapped for use
  1164.  
  1165.      See Also:  FindHand, GetHandName, Handles, PageFrame, SetHandName,
  1166.      UnMapPage
  1167.      ---------------------------------------------------------------------
  1168.       MaskIn                     SUB-ROUTINE                   SCRNIO.PBU
  1169.      ---------------------------------------------------------------------
  1170.      Gets Masked Input from user.
  1171.  
  1172.      Example:  CALL MaskIn(Ypos%, Xpos%, TexCol%, Hilite%, Mask$, Deflt$,
  1173.                Term$) Where TexCol% = The color of the text when editing
  1174.                is done
  1175.                      Hilite% = The color of the text as it is edited
  1176.                      Mask$ = the desired mask to use for getting input
  1177.                          _ = Any charactor
  1178.                          @ = Alpha charactors only (Upper and Lower)
  1179.                          # = Numeric charactors only
  1180.                          ! = Uppercase Alpha only
  1181.                          | = Alpha and numeric only (Uppercase)
  1182.                      Deflt$ = The default answer for input
  1183.                      Term$ = The terminating key for editing
  1184.  
  1185.      See Also:  GetKey, MouseKey, NumIn, TextEd, TextIn
  1186.      ---------------------------------------------------------------------
  1187.       Menu                         FUNCTION                     WINDO.PBU
  1188.      ---------------------------------------------------------------------
  1189.      Displays a menu and gets choice from user.
  1190.  
  1191.      Example:  Choice%=Menu%(Choices$(), Ypos%, Ylen%, Current%, Hilite%)
  1192.                Where Choices$() = Choices to display
  1193.                      Ypos% = The starting row to the display menu relative
  1194.      to
  1195.                              the current open windo
  1196.                      Ylen% = The number of the choices to display.  If all
  1197.                              choices cannot be displayed then remaining
  1198.                              choices will be scrolled onto the screen.
  1199.                      Current% = The default choice to hilite first
  1200.                      Hilite% = The color to display the current choice
  1201.  
  1202.      See Also:  OpenWin
  1203.      ---------------------------------------------------------------------
  1204.       MLocate                      SUB-ROUTINE                 SCRNIO.PBU
  1205.      ---------------------------------------------------------------------
  1206.      Locates the mouse cursor to a desired position on the screen.
  1207.  
  1208.      Example:  CALL MLocate(Ypos%,Xpos%)
  1209.  
  1210.      See Also:  IsMouse, MouseOff, MouseOn, MouseStat
  1211.      ---------------------------------------------------------------------
  1212.       MouseKey                     FUNCTION                    SCRNIO.PBU
  1213.      ---------------------------------------------------------------------
  1214.      Gets keyboard input from user.  If mouse is attached, mouse
  1215.      movements are also used.  Left Button = Enter, Right Button = Esc
  1216.  
  1217.      Example:  I$=MouseKey$
  1218.  
  1219.      See Also: GetKey$, IsMouse
  1220.      ---------------------------------------------------------------------
  1221.       MouseOff                     SUB-ROUTINE                 SCRNIO.PBU
  1222.      ---------------------------------------------------------------------
  1223.      Turns off mouse cursor.
  1224.  
  1225.      Example:  CALL MouseOff
  1226.  
  1227.      See Also:  IsMouse, MouseOn, MouseStat
  1228.      ---------------------------------------------------------------------
  1229.       MouseOn                      SUB-ROUTINE                 SCRNIO.PBU
  1230.      ---------------------------------------------------------------------
  1231.      Turns on mouse cursor.
  1232.  
  1233.      Example:  CALL MouseOn
  1234.  
  1235.      See Also:  IsMouse, MouseOff, MouseStat
  1236.      ---------------------------------------------------------------------
  1237.       MouseStat                    SUB-ROUTINE                 SCRNIO.PBU
  1238.      ---------------------------------------------------------------------
  1239.      Returns the status of the mouse.
  1240.  
  1241.      Example:  CALL MouseStat(Button%, Ypos%, Xpos%)
  1242.                Where Button% = Current button(s) depressed
  1243.  
  1244.      See Also:  IsMouse, MouseOff, MouseOn
  1245.      ---------------------------------------------------------------------
  1246.       MouseWin                     SUB-ROUTINE                 SCRNIO.PBU
  1247.      ---------------------------------------------------------------------
  1248.      Defines the window for the mouse cursor to be displayed in.
  1249.  
  1250.      Example:  CALL MouseWin(Ypos%, Xpos%, Ylen%, Xlen%)
  1251.  
  1252.      See Also:  IsMouse, MouseOff, MouseOn, MouseStat
  1253.      ---------------------------------------------------------------------
  1254.       MoveWin                      SUB-ROUTINE                  WINDO.PBU
  1255.      ---------------------------------------------------------------------
  1256.      Moves the current active windo on the screen.
  1257.  
  1258.      Example:  CALL MoveWin(Dir%)
  1259.                Where 1 - Right
  1260.                      2 - Left
  1261.                      3 - Down
  1262.                      4 - Up
  1263.  
  1264.      See Also:  OpenWin, NoShadow
  1265.      ---------------------------------------------------------------------
  1266.       NoShadow                     SUB-ROUTINE                  WINDO.PBU
  1267.      ---------------------------------------------------------------------
  1268.      Removes the shadow from the current windo.  (Required when
  1269.      moving or resizing windos)
  1270.  
  1271.      Example:  CALL NoShadow
  1272.  
  1273.      See Also:  AddShadow, ChangeWin, MoveWin
  1274.      ---------------------------------------------------------------------
  1275.       NumIn                        SUB-ROUTINE                 SCRNIO.PBU
  1276.      ---------------------------------------------------------------------
  1277.      Gets numeric input from user.
  1278.  
  1279.      Example:  CALL
  1280.      NumIn(Ypos%,Xpos%,Digits%,NumCol%,Hilite%,Answer#,Term$)
  1281.                Where Digits% = Numbers after decimal point
  1282.                NumCol% = Color of text after input
  1283.                Answer# = Double precision real number with input
  1284.                Term$ = Key used to terminate input
  1285.  
  1286.      See Also:  GetKey, MaskIn, TextEd, TextIn
  1287.      ---------------------------------------------------------------------
  1288.       NumOff                       SUB-ROUTINE                 SCRNIO.PBU
  1289.      ---------------------------------------------------------------------
  1290.      Toggles Num Lock off.
  1291.  
  1292.      Example:  CALL NumOff
  1293.  
  1294.      See Also:  NumOn
  1295.      ---------------------------------------------------------------------
  1296.       NumOn                        SUB-ROUTINE                 SCRNIO.PBU
  1297.      ---------------------------------------------------------------------
  1298.      Toggles Num Lock on.
  1299.  
  1300.      Example:  CALL NumOn
  1301.  
  1302.      See Also:  NumOff
  1303.      ---------------------------------------------------------------------
  1304.       NumRecs                      FUNCTION                     DOSIO.PBU
  1305.      ---------------------------------------------------------------------
  1306.      Returns the number of records within a random access file.
  1307.  
  1308.      Example:  Records%=NumRecs%(Filename$,RecordLength%)
  1309.  
  1310.      See Also:  Exist, GetRec, PutRec
  1311.      ---------------------------------------------------------------------
  1312.       NumStat                      FUNCTION                    SCRNIO.PBU
  1313.      ---------------------------------------------------------------------
  1314.      Returns true if Num Lock is on.
  1315.  
  1316.      Example:  IF NumStat% THEN Yep
  1317.  
  1318.      See Also:  NumOff, NumOn
  1319.      ---------------------------------------------------------------------
  1320.       OpenWin                      SUB-ROUTINE                  WINDO.PBU
  1321.      ---------------------------------------------------------------------
  1322.      Pops a window on the screen saving all contents underneath.
  1323.  
  1324.      Example:  CALL
  1325.                OpenWin(Ypos%,Xpos%,YLen%,Xlen%,Brdr%,BrC%,TxC%,Shd%,Zm%,Ns
  1326.                %) Where  Brdr% = Border selection (see Box)
  1327.                Where BrC% = The color attribute to print border
  1328.                Where TcC% = The color attribute for text
  1329.                Shd% = The placement of the shadow (see Box)
  1330.                Zm% = True - zoom the windo onto the screen
  1331.                Ns% = True - make noise when opening window
  1332.  
  1333.      See Also:  Box, CloseWin
  1334.      ---------------------------------------------------------------------
  1335.       PageFrame                    FUNCTION                     EMSIO.PBU
  1336.      ---------------------------------------------------------------------
  1337.      Returns the 64k segment of the page frame.
  1338.  
  1339.      Example:  PRINT "The PageFrame is located at";HEX$(PageFrame)
  1340.  
  1341.      See Also:  IsEMS, EMSStat, EMSVer
  1342.      ---------------------------------------------------------------------
  1343.       PutRec                       SUB-ROUTINE                  DOSIO.PBU
  1344.      ---------------------------------------------------------------------
  1345.      Puts a record into a file.
  1346.  
  1347.      Example:  CALL PutRec(Filename$,Record$,Record%,RecLength%)
  1348.  
  1349.      See Also:  Exist, GetRec, NumRecs
  1350.      ---------------------------------------------------------------------
  1351.       PutScrn                      SUB-ROUTINE                 SCRNIO.PBU
  1352.      ---------------------------------------------------------------------
  1353.      Puts a string created with GetScrn back onto the screen.
  1354.  
  1355.      Example: CALL PutScrn(Ypos%, Xpos%, Text$)
  1356.  
  1357.      See Also:  GetScrn
  1358.      ---------------------------------------------------------------------
  1359.       ReAttr                       SUB-ROUTINE                 SCRNIO.PBU
  1360.      ---------------------------------------------------------------------
  1361.      Changes the color attribute of any position on the screen.
  1362.  
  1363.      Example:  CALL ReAttr(Ypos%, Xpos%, Ylen%, Ypos%, NewColor%)
  1364.  
  1365.      See Also:  Attr, Fill, Recolor
  1366.      ---------------------------------------------------------------------
  1367.       Recolor                      SUB-ROUTINE                 SCRNIO.PBU
  1368.      ---------------------------------------------------------------------
  1369.      Changes the color attribute of all positions on the screen.
  1370.  
  1371.      Example:  CALL Recolor(Old%, New%)
  1372.                     Where Old% is the attribute on the screen you want
  1373.                      to change.
  1374.                     New% is the attribute on the screen to replace the Old%
  1375.                      with.
  1376.  
  1377.      See Also: Attr, Fill, ReAttr
  1378.      ---------------------------------------------------------------------
  1379.       Reverse                      FUNCTION                      TOOL.PBU
  1380.      ---------------------------------------------------------------------
  1381.      Reverse the order of any string.
  1382.  
  1383.      Example:  NewString$=Reverse$(OldString$)
  1384.  
  1385.      See Also:  DelChar, InsChar, LRotate, RRotate
  1386.      ---------------------------------------------------------------------
  1387.       RPad                         FUNCTION                      TOOL.PBU
  1388.      ---------------------------------------------------------------------
  1389.      Pads a string to the right to desired number of places with
  1390.      desired char.
  1391.  
  1392.      Example:  NewString$=RPad$(OldString$,80,32)
  1393.  
  1394.      See Also:  LPad, Trim
  1395.      ---------------------------------------------------------------------
  1396.       RRotate                      FUNCTION                      TOOL.PBU
  1397.      ---------------------------------------------------------------------
  1398.      Rotates all the charactors in a string to the right one
  1399.      position.
  1400.  
  1401.      Example:  NewString$=RRotate$(OldString$)
  1402.  
  1403.      See Also:  LRotate
  1404.      ---------------------------------------------------------------------
  1405.       RScroll                      SUB-ROUTINE                 SCRNIO.PBU
  1406.      ---------------------------------------------------------------------
  1407.      Scrolls any portion of the screen to the right.
  1408.  
  1409.      Example:  CALL RScroll(TopRow%,LeftCol%,BotRow%,RightCol%,Cols%)
  1410.  
  1411.      See Also:  LScroll, ScrollDN, ScrollUp, ScrollWin
  1412.      ---------------------------------------------------------------------
  1413.       ScrollDN                     SUB-ROUTINE                 SCRNIO.PBU
  1414.      ---------------------------------------------------------------------
  1415.      Scrolls any part of the screen down one line.
  1416.  
  1417.      Example:  CALL ScrollDN(Left%, Right%, Top%, Bottom%, Atr%)
  1418.  
  1419.      See Also:  ScrollUP, ScrollWin
  1420.      ---------------------------------------------------------------------
  1421.       ScrollOff                    SUB-ROUTINE                 SCRNIO.PBU
  1422.      ---------------------------------------------------------------------
  1423.      Toggles Scroll Lock off.
  1424.  
  1425.      Example:  CALL ScrollOff
  1426.  
  1427.      See Also:  ScrollOn, ScrollStat
  1428.      ---------------------------------------------------------------------
  1429.       ScrollOn                     SUB-ROUTINE                 SCRNIO.PBU
  1430.      ---------------------------------------------------------------------
  1431.      Toggles Scroll Lock on.
  1432.  
  1433.      Example:  CALL ScrollOn
  1434.  
  1435.      See Also:  ScrollOff, ScrollStat
  1436.      ---------------------------------------------------------------------
  1437.       ScrollStat                   SUB-ROUTINE                 SCRNIO.PBU
  1438.      ---------------------------------------------------------------------
  1439.      Returns true is Scroll Lock is on.
  1440.  
  1441.      Example:  IF ScrollStat% THEN Yep
  1442.  
  1443.      See Also:  ScrollOff, ScrollOn
  1444.      ---------------------------------------------------------------------
  1445.       ScrollUp                     SUB-ROUTINE                 SCRNIO.PBU
  1446.      ---------------------------------------------------------------------
  1447.      Scrolls any portion of the screen up one line.
  1448.  
  1449.      Example:  CALL ScrollUP(Left%, Right%, Top%, Bottom%, Atr%)
  1450.  
  1451.      See Also:  ScrollDN, ScrollWin
  1452.      ---------------------------------------------------------------------
  1453.       ScrollWin                    SUB-ROUTINE                  WINDO.PBU
  1454.      ---------------------------------------------------------------------
  1455.      Scrolls the current windo up, down, left or right.
  1456.  
  1457.      Example:  CALL ScrollWin(Dir%)
  1458.                Where 1 - Down
  1459.                      2 - Up
  1460.                      3 - Left
  1461.                      4 - Right
  1462.  
  1463.      See Also:  OpenWin, ScrollDN, ScrollUp
  1464.      ---------------------------------------------------------------------
  1465.       SetHandName                  SUB-ROUTINE                  EMSIO.PBU
  1466.      ---------------------------------------------------------------------
  1467.      Assigns an 8 charactor name to an EMS Handle
  1468.  
  1469.      Example:  CALL SetHandName(Handle%, HandName$, ErrCode%)
  1470.  
  1471.      See Also:  CloseHandle, EMSHandle, FindHand, GetHandName, Handles,
  1472.      IsEMS
  1473.      ---------------------------------------------------------------------
  1474.       SetText                      SUB-ROUTINE                 SCRNIO.PBU
  1475.      ---------------------------------------------------------------------
  1476.      Sets cursor color from attribute.
  1477.  
  1478.      CALL SetText(Atr%)
  1479.  
  1480.      See Also:  Attr, Back, Fore
  1481.      ---------------------------------------------------------------------
  1482.       ShiftAlpha                   FUNCTION                      TOOL.PBU
  1483.      ---------------------------------------------------------------------
  1484.      Shifts alpha charactors ina string over one charator.
  1485.  
  1486.      Example:  Shifted$=ShiftAlpha$("ABcd",2)
  1487.                Where Shifted$ would Equal "CDef"
  1488.      ---------------------------------------------------------------------
  1489.       StuffKey                     SUB-ROUTINE                 SCRNIO.PBU
  1490.      ---------------------------------------------------------------------
  1491.      Stuffs the keyboard buffer with up to 16 charactors.  May not
  1492.      work with
  1493.        many keyboard enhancers.
  1494.  
  1495.      Example:  CALL StuffKey(Text$)
  1496.  
  1497.      See Also:  ClrKBD, GetKey, MouseKey
  1498.      ---------------------------------------------------------------------
  1499.       TextEd                       SUB-ROUTINE                 SCRNIO.PBU
  1500.      ---------------------------------------------------------------------
  1501.      Lets user edit the chars within a string.
  1502.  
  1503.      Example:  CALL TextEd(Ypos%, Xpos%, Cpos%, TxC%, Hl%, Txt$, Term$)
  1504.                Where Cpos% = Cursor position within the string
  1505.                      TxC% = The normal text color
  1506.                      Hl% = The hilighted text color
  1507.                      Txt$ = The text to edit
  1508.                      Term$ = The terminating key
  1509.  
  1510.      See Also:  GetKey, MaskIn, NumIn, TextIn
  1511.      ---------------------------------------------------------------------
  1512.       TextIn                       SUB-ROUTINE                 SCRNIO.PBU
  1513.      ---------------------------------------------------------------------
  1514.      Gets text input from the user.
  1515.  
  1516.      Example:  CALL TextIn(Ypos%, Xpos%, Max%, TxC%, Hl%, Txt$, Term$)
  1517.                Where Max% = The maximum charactors to allow in Txt$
  1518.  
  1519.      See Also:  GetKey, MaskIn, NumIn, TextEd
  1520.      ---------------------------------------------------------------------
  1521.       Title                        SUB-ROUTINE                  WINDO.PBU
  1522.      ---------------------------------------------------------------------
  1523.      Displays a title on current windo in a desired color.
  1524.  
  1525.      Example:  CALL Title(Title$, Position%)
  1526.                Where Position% = Placement of title on windo
  1527.                      1 - Top Left
  1528.                      2 - Top Center
  1529.                      3 - Top Right
  1530.                      4 - Bottom Left
  1531.                      5 - Bottom Center
  1532.                      6 - Bottom Right
  1533.  
  1534.      See Also:  OpenWin, WPrint, WPrintC
  1535.      ---------------------------------------------------------------------
  1536.       Trim                         FUNCTION                      TOOL.PBU
  1537.      ---------------------------------------------------------------------
  1538.      Trims the spaces from both ends of a string.
  1539.  
  1540.      Example:  NewString$=Trim$(OldString$)
  1541.  
  1542.      See Also:  LPad, RPad
  1543.      ---------------------------------------------------------------------
  1544.       UnCompress                   FUNCTION                      TOOL.PBU
  1545.      ---------------------------------------------------------------------
  1546.      UnCompresses a previously compressed string.
  1547.  
  1548.      Example:  Text$=UnCompress$(Secret$)
  1549.  
  1550.      See Also:  Compress, Decrypt, Encrypt, ShiftAlpha
  1551.      ---------------------------------------------------------------------
  1552.       UnMapPage                    SUB-ROUTINE                  EMSIO.PBU
  1553.      ---------------------------------------------------------------------
  1554.      UnMaps pageframe to back to logical page location.
  1555.  
  1556.      Example:  CALL UnMapPage (Handle%, ErrCode%)
  1557.  
  1558.      See Also:  EMSHandle, FreePages, Handles, IsEMS, MapPage, PageFrame
  1559.      ---------------------------------------------------------------------
  1560.       VidAddr                      FUNCTION                    SCRNIO.PBU
  1561.      ---------------------------------------------------------------------
  1562.      Returns the segment for video I/O on active display.
  1563.  
  1564.      Example:  PRINT"The video segment is located at";HEX$(VidAddr%)
  1565.  
  1566.      See Also:  CurDisplay, VidMode
  1567.      ---------------------------------------------------------------------
  1568.       VidMode                      FUNCTION                    SCRNIO.PBU
  1569.      ---------------------------------------------------------------------
  1570.      Returns the video mode for current display.
  1571.  
  1572.      Example:  PRINT"Current Video Mode is";VidMode%
  1573.  
  1574.      See Also:  CurDisplay, VidAddr
  1575.      ---------------------------------------------------------------------
  1576.       WinColor                     SUB-ROUTINE                  WINDO.PBU
  1577.      ---------------------------------------------------------------------
  1578.      Changes the text color of the current windo.
  1579.  
  1580.      Example:  CALL WinColor(Atr%)
  1581.  
  1582.      See Also:  Attr, Back, Fore, OpenWin, WPrint, WPrintC
  1583.      ---------------------------------------------------------------------
  1584.       WPrint                       SUB-ROUTINE                  WINDO.PBU
  1585.      ---------------------------------------------------------------------
  1586.      Prints a string within the current windo in desired color.
  1587.  
  1588.      Example:  CALL WPrint(Ypos%, Xpos%, Text$, Atr%)
  1589.                Where Ypos% and Xpos% are relative to the top right corner
  1590.                      of the window.
  1591.  
  1592.      See Also:  OpenWin, WPrintC
  1593.      ---------------------------------------------------------------------
  1594.       WPrintC                      SUB-ROUTINE                  WINDO.PBU
  1595.      ---------------------------------------------------------------------
  1596.      Prints a string centered wihin the current windo in desired
  1597.      color.
  1598.  
  1599.      Example:  CALL WPrintC(Ypos%, Text$, Atr%)
  1600.  
  1601.      See Also:  OpenWin, WPrint
  1602.      ---------------------------------------------------------------------
  1603.       ZoomBox                      SUB-ROUTINE                  WINDO.PBU
  1604.      ---------------------------------------------------------------------
  1605.      Zooms a box onto the screen with option for noise.
  1606.  
  1607.      Example:  CALL ZoomBox(Ypos%, Xpos%, Ylen%, Xlen%, BrDr%, Sh%,
  1608.      BrClr%, TxC%)
  1609.  
  1610.      See Also:  Box, OpenWin
  1611.